home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Mac Game Programming Gurus / TricksOfTheMacGameProgrammingGurus.iso / CodeWarrior Lite / Metrowerks C⁄C++ Lite / Headers / Universal Headers 2.0.1f / Displays.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-03-22  |  21.6 KB  |  485 lines  |  [TEXT/MMCC]

  1. /*
  2.      File:        Displays.h
  3.  
  4.      Contains:    Display Manager Interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Package:    Universal Interfaces 2.0 in “MPW Latest” on ETO #17
  8.  
  9.      Copyright:    © 1984-1995 by Apple Computer, Inc.
  10.                  All rights reserved.
  11.  
  12.      Bugs?:        If you find a problem with this file, use the Apple Bug Reporter
  13.                  stack.  Include the file and version information (from above)
  14.                  in the problem description and send to:
  15.                      Internet:    apple.bugs@applelink.apple.com
  16.                      AppleLink:    APPLE.BUGS
  17.  
  18. */
  19.  
  20. #ifndef __DISPLAYS__
  21. #define __DISPLAYS__
  22.  
  23.  
  24. #ifndef __CONDITIONALMACROS__
  25. #include <ConditionalMacros.h>
  26. #endif
  27.  
  28. #ifndef __COMPONENTS__
  29. #include <Components.h>
  30. #endif
  31. /*    #include <Types.h>                                            */
  32. /*    #include <MixedMode.h>                                        */
  33.  
  34. #ifndef __VIDEO__
  35. #include <Video.h>
  36. #endif
  37. /*    #include <Quickdraw.h>                                        */
  38. /*        #include <QuickdrawText.h>                                */
  39.  
  40. #ifndef __APPLEEVENTS__
  41. #include <AppleEvents.h>
  42. #endif
  43. /*    #include <Errors.h>                                            */
  44. /*    #include <Memory.h>                                            */
  45. /*    #include <OSUtils.h>                                        */
  46. /*    #include <Events.h>                                            */
  47. /*    #include <EPPC.h>                                            */
  48. /*        #include <AppleTalk.h>                                    */
  49. /*        #include <Files.h>                                        */
  50. /*        #include <PPCToolbox.h>                                    */
  51. /*        #include <Processes.h>                                    */
  52. /*    #include <Notification.h>                                    */
  53.  
  54. #ifndef __WINDOWS__
  55. #include <Windows.h>
  56. #endif
  57. /*    #include <Controls.h>                                        */
  58. /*        #include <Menus.h>                                        */
  59.  
  60. #ifndef __EVENTS__
  61. #include <Events.h>
  62. #endif
  63.  
  64. #ifndef __PROCESSES__
  65. #include <Processes.h>
  66. #endif
  67.  
  68. #ifndef __DIALOGS__
  69. #include <Dialogs.h>
  70. #endif
  71. /*    #include <TextEdit.h>                                        */
  72.  
  73. #ifdef __cplusplus
  74. extern "C" {
  75. #endif
  76.  
  77. #if PRAGMA_ALIGN_SUPPORTED
  78. #pragma options align=mac68k
  79. #endif
  80.  
  81. #if PRAGMA_IMPORT_SUPPORTED
  82. #pragma import on
  83. #endif
  84.  
  85.  
  86. enum {
  87. /* AppleEvents Core Suite */
  88.     kAESystemConfigNotice        = 'cnfg',
  89. /* Core Suite types */
  90.     kAEDisplayNotice            = 'dspl',
  91.     kAEDisplaySummary            = 'dsum',
  92.     keyDMConfigVersion            = 'dmcv',
  93.     keyDMConfigFlags            = 'dmcf',
  94.     keyDMConfigReserved            = 'dmcr',
  95.     keyDisplayID                = 'dmid',
  96.     keyDisplayComponent            = 'dmdc',
  97.     keyDisplayDevice            = 'dmdd',
  98.     keyDisplayFlags                = 'dmdf',
  99.     keyDisplayMode                = 'dmdm',
  100.     keyDisplayModeReserved        = 'dmmr',
  101.     keyDisplayReserved            = 'dmdr',
  102.     keyDisplayMirroredId        = 'dmmi',
  103.     keyDeviceFlags                = 'dddf',
  104.     keyDeviceDepthMode            = 'dddm',
  105.     keyDeviceRect                = 'dddr',
  106.     keyPixMapRect                = 'dpdr',
  107.     keyPixMapHResolution        = 'dphr',
  108.     keyPixMapVResolution        = 'dpvr',
  109.     keyPixMapPixelType            = 'dppt',
  110.     keyPixMapPixelSize            = 'dpps',
  111.     keyPixMapCmpCount            = 'dpcc',
  112.     keyPixMapCmpSize            = 'dpcs',
  113.     keyPixMapAlignment            = 'dppa',
  114.     keyPixMapResReserved        = 'dprr',
  115.     keyPixMapReserved            = 'dppr',
  116.     keyPixMapColorTableSeed        = 'dpct',
  117.     keySummaryMenubar            = 'dsmb',
  118.     keySummaryChanges            = 'dsch',
  119.     keyDisplayOldConfig            = 'dold',
  120.     keyDisplayNewConfig            = 'dnew'
  121. };
  122.  
  123. enum {
  124.     dmOnlyActiveDisplays        = true,
  125.     dmAllDisplays                = false
  126. };
  127.  
  128. enum {
  129. /* Switch Flags */
  130.     kNoSwitchConfirmBit            = 0,                            /* Flag indicating that there is no need to confirm a switch to this mode */
  131.     kDepthNotAvailableBit,                                        /* Current depth not available in new mode */
  132.     kShowModeBit                = 3,                            /* Show this mode even though it requires a confirm. */
  133.     kModeNotResizeBit            = 4                                /* Do not use this mode to resize display (for cards that mode drives a different connector). */
  134. };
  135.  
  136. enum {
  137. /*    Summary Change Flags (sticky bits indicating an operation was performed)
  138.     For example, moving a display then moving it back will still set the kMovedDisplayBit.
  139. */
  140.     kBeginEndConfigureBit        = 0,
  141.     kMovedDisplayBit,
  142.     kSetMainDisplayBit,
  143.     kSetDisplayModeBit,
  144.     kAddDisplayBit,
  145.     kRemoveDisplayBit,
  146.     kNewDisplayBit,
  147.     kDisposeDisplayBit,
  148.     kEnabledDisplayBit,
  149.     kDisabledDisplayBit,
  150.     kMirrorDisplayBit,
  151.     kUnMirrorDisplayBit
  152. };
  153.  
  154. enum {
  155. /*    Power Mode constants for AVPowerStateRec.powerState.    */
  156.     kAVPowerOff,
  157.     kAVPowerStandby,
  158.     kAVPowerSuspend,
  159.     kAVPowerOn
  160. };
  161.  
  162. enum {
  163. /* Notification Messages for extended call back routines */
  164.     kDMNotifyInstalled            = 1,                            /* At install time */
  165.     kDMNotifyEvent                = 2,                            /* Post change time */
  166.     kDMNotifyRemoved            = 3,                            /* At remove time */
  167.     kDMNotifyPrep                = 4,                            /* Pre change time */
  168.     kDMNotifyExtendEvent        = 5,                            /* Allow registrees to extend apple event before it is sent */
  169.     kDMNotifyDependents            = 6,                            /* Minor notification check without full update */
  170. /* Notification Flags */
  171.     kExtendedNotificationProc    = (1L << 16)
  172. };
  173.  
  174. /* types for notifyType */
  175. enum {
  176.     kFullNotify,                                                /* This is the appleevent whole nine yards notify */
  177.     kFullDependencyNotify                                        /* Only sends to those who want to know about interrelated functionality (used for updating UI) */
  178. };
  179.  
  180. /* DisplayID/DeviceID constants */
  181. enum {
  182.     kDummyDeviceID                = 0x0FF,                        /* This is the ID of the dummy display, used when the last “real” display is disabled.*/
  183.     kInvalidDisplayID            = 0x000,                        /* This is the invalid ID*/
  184.     kFirstDisplayID                = 0x100
  185. };
  186.  
  187. enum {
  188. /* bits for panelListFlags */
  189.     kAllowDuplicatesBit            = 0
  190. };
  191.  
  192. /* Constants for fidelity checks */
  193. enum {
  194.     kNoFidelity                    = 0,
  195.     kMinimumFidelity            = 1,
  196.     kDefaultFidelity            = 500,                            /* I'm just picking a number for Apple default panels and engines*/
  197.     kDefaultManufacturerFidelity = 1000                            /* I'm just picking a number for Manufacturer's panels and engines (overrides apple defaults)*/
  198. };
  199.  
  200. enum {
  201.     kAnyPanelType                = 0,                            /* Pass to DMNewEngineList for list of all panels (as opposed to specific types)*/
  202.     kAnyEngineType                = 0,                            /* Pass to DMNewEngineList for list of all engines*/
  203.     kAnyDeviceType                = 0,                            /* Pass to DMNewDeviceList for list of all devices*/
  204.     kAnyPortType                = 0                                /* Pass to DMNewDevicePortList for list of all devices*/
  205. };
  206.  
  207. /* portListFlags for DM_NewDevicePortList */
  208. enum {
  209. /* Should offline devices be put into the port list (such as dummy display) */
  210.     kPLIncludeOfflineDevicesBit    = 0
  211. };
  212.  
  213. typedef unsigned long DMFidelityType;
  214.  
  215. /* AVID is an ID for ports and devices the old DisplayID type
  216.     is carried on for compatibility
  217. */
  218. typedef unsigned long AVIDType;
  219.  
  220. typedef AVIDType DisplayIDType;
  221.  
  222. typedef void *DMListType;
  223.  
  224. typedef unsigned long DMListIndexType;
  225.  
  226. struct AVPowerStateRec {
  227.     unsigned long                    powerState;
  228.     unsigned long                    powerFlags;
  229.     unsigned long                    powerReserved1;
  230.     unsigned long                    powerReserved2;
  231. };
  232. typedef struct AVPowerStateRec AVPowerStateRec;
  233.  
  234. typedef AVPowerStateRec *AVPowerStatePtr;
  235.  
  236. struct DMComponentListEntryRec {
  237.     DisplayIDType                    itemID;                        /* DisplayID Manager*/
  238.     Component                        itemComponent;                /* Component Manager*/
  239.     ComponentDescription            itemDescription;            /* We can always construct this if we use something beyond the compontent mgr.*/
  240.     ResType                            itemClass;                    /* Class of group to put this panel (eg geometry/color/etc for panels, brightness/contrast for engines, video out/sound/etc for devices)*/
  241.     DMFidelityType                    itemFidelity;                /* How good is this item for the specified search?*/
  242.     unsigned long                    itemFlags;                    /* Set to 0 (future expansion)*/
  243.     ResType                            itemReserved;                /* What kind of code does the itemReference point to  (right now - kPanelEntryTypeComponentMgr only)*/
  244.     unsigned long                    itemFuture;                    /* Set to 0 (future expansion - probably an alternate code style)*/
  245. };
  246. typedef struct DMComponentListEntryRec DMComponentListEntryRec;
  247.  
  248. typedef DMComponentListEntryRec *DMComponentListEntryPtr;
  249.  
  250. /* ••• Move AVLocationRec to AVComponents.i AFTER AVComponents.i is created*/
  251. struct AVLocationRec {
  252.     unsigned long                    locationConstant;            /* Set to 0 (future expansion - probably an alternate code style)*/
  253. };
  254. typedef struct AVLocationRec AVLocationRec;
  255.  
  256. typedef AVLocationRec *AVLocationPtr;
  257.  
  258. struct DMDisplayModeListEntryRec {
  259.     unsigned long                    displayModeFlags;
  260.     VDSwitchInfoPtr                    displayModeSwitchInfo;
  261.     VDResolutionInfoPtr                displayModeResolutionInfo;
  262.     VDTimingInfoPtr                    displayModeTimingInfo;
  263.     Rect                            *displayModeSmallestRect;    /* Smallest Mode Rect*/
  264.     Rect                            *displayModeLargestRect;    /* Largest Mode Rect*/
  265.     Str255                            *displayModeName;            /* Name of the timing mode*/
  266. };
  267. typedef struct DMDisplayModeListEntryRec DMDisplayModeListEntryRec;
  268.  
  269. typedef DMDisplayModeListEntryRec *DMDisplayModeListEntryPtr;
  270.  
  271. struct DependentNotifyRec {
  272.     ResType                            notifyType;                    /* What type was the engine that made the change (may be zero)*/
  273.     ResType                            notifyClass;                /* What class was the change (eg geometry, color etc)*/
  274.     DisplayIDType                    notifyPortID;                /* Which device was touched (kInvalidDisplayID -> all or none)*/
  275.     ComponentInstance                notifyComponent;            /* What engine did it (may be 0)?*/
  276.     unsigned long                    notifyVersion;                /* Set to 0 (future expansion)*/
  277.     unsigned long                    notifyFlags;                /* Set to 0 (future expansion)*/
  278.     unsigned long                    notifyReserved;                /* Set to 0 (future expansion)*/
  279.     unsigned long                    notifyFuture;                /* Set to 0 (future expansion)*/
  280. };
  281. typedef struct DependentNotifyRec DependentNotifyRec;
  282.  
  283. typedef DependentNotifyRec *DependentNotifyPtr;
  284.  
  285. typedef pascal void (*DMNotificationProcPtr)(AppleEvent *theEvent);
  286. typedef pascal void (*DMExtendedNotificationProcPtr)(void *userData, short theMessage, void *notifyData);
  287. typedef pascal void (*DMComponentListIteratorProcPtr)(void *userData, DMListIndexType itemIndex, DMComponentListEntryPtr componentInfo);
  288. typedef pascal void (*DMDisplayModeListIteratorProcPtr)(void *userData, DMListIndexType itemIndex, DMDisplayModeListEntryPtr displaymodeInfo);
  289.  
  290. #if GENERATINGCFM
  291. typedef UniversalProcPtr DMNotificationUPP;
  292. typedef UniversalProcPtr DMExtendedNotificationUPP;
  293. typedef UniversalProcPtr DMComponentListIteratorUPP;
  294. typedef UniversalProcPtr DMDisplayModeListIteratorUPP;
  295. #else
  296. typedef DMNotificationProcPtr DMNotificationUPP;
  297. typedef DMExtendedNotificationProcPtr DMExtendedNotificationUPP;
  298. typedef DMComponentListIteratorProcPtr DMComponentListIteratorUPP;
  299. typedef DMDisplayModeListIteratorProcPtr DMDisplayModeListIteratorUPP;
  300. #endif
  301.  
  302. enum {
  303.     uppDMNotificationProcInfo = kPascalStackBased
  304.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(AppleEvent*))),
  305.     uppDMExtendedNotificationProcInfo = kPascalStackBased
  306.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(void*)))
  307.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(short)))
  308.          | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(void*))),
  309.     uppDMComponentListIteratorProcInfo = kPascalStackBased
  310.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(void*)))
  311.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(DMListIndexType)))
  312.          | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(DMComponentListEntryPtr))),
  313.     uppDMDisplayModeListIteratorProcInfo = kPascalStackBased
  314.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(void*)))
  315.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(DMListIndexType)))
  316.          | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(DMDisplayModeListEntryPtr)))
  317. };
  318.  
  319. #if GENERATINGCFM
  320. #define NewDMNotificationProc(userRoutine)        \
  321.         (DMNotificationUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppDMNotificationProcInfo, GetCurrentArchitecture())
  322. #define NewDMExtendedNotificationProc(userRoutine)        \
  323.         (DMExtendedNotificationUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppDMExtendedNotificationProcInfo, GetCurrentArchitecture())
  324. #define NewDMComponentListIteratorProc(userRoutine)        \
  325.         (DMComponentListIteratorUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppDMComponentListIteratorProcInfo, GetCurrentArchitecture())
  326. #define NewDMDisplayModeListIteratorProc(userRoutine)        \
  327.         (DMDisplayModeListIteratorUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppDMDisplayModeListIteratorProcInfo, GetCurrentArchitecture())
  328. #else
  329. #define NewDMNotificationProc(userRoutine)        \
  330.         ((DMNotificationUPP) (userRoutine))
  331. #define NewDMExtendedNotificationProc(userRoutine)        \
  332.         ((DMExtendedNotificationUPP) (userRoutine))
  333. #define NewDMComponentListIteratorProc(userRoutine)        \
  334.         ((DMComponentListIteratorUPP) (userRoutine))
  335. #define NewDMDisplayModeListIteratorProc(userRoutine)        \
  336.         ((DMDisplayModeListIteratorUPP) (userRoutine))
  337. #endif
  338.  
  339. #if GENERATINGCFM
  340. #define CallDMNotificationProc(userRoutine, theEvent)        \
  341.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppDMNotificationProcInfo, (theEvent))
  342. #define CallDMExtendedNotificationProc(userRoutine, userData, theMessage, notifyData)        \
  343.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppDMExtendedNotificationProcInfo, (userData), (theMessage), (notifyData))
  344. #define CallDMComponentListIteratorProc(userRoutine, userData, itemIndex, componentInfo)        \
  345.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppDMComponentListIteratorProcInfo, (userData), (itemIndex), (componentInfo))
  346. #define CallDMDisplayModeListIteratorProc(userRoutine, userData, itemIndex, displaymodeInfo)        \
  347.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppDMDisplayModeListIteratorProcInfo, (userData), (itemIndex), (displaymodeInfo))
  348. #else
  349. #define CallDMNotificationProc(userRoutine, theEvent)        \
  350.         (*(userRoutine))((theEvent))
  351. #define CallDMExtendedNotificationProc(userRoutine, userData, theMessage, notifyData)        \
  352.         (*(userRoutine))((userData), (theMessage), (notifyData))
  353. #define CallDMComponentListIteratorProc(userRoutine, userData, itemIndex, componentInfo)        \
  354.         (*(userRoutine))((userData), (itemIndex), (componentInfo))
  355. #define CallDMDisplayModeListIteratorProc(userRoutine, userData, itemIndex, displaymodeInfo)        \
  356.         (*(userRoutine))((userData), (itemIndex), (displaymodeInfo))
  357. #endif
  358.  
  359. extern pascal GDHandle DMGetFirstScreenDevice(Boolean activeOnly)
  360.  TWOWORDINLINE(0x7000, 0xABEB);
  361. extern pascal GDHandle DMGetNextScreenDevice(GDHandle theDevice, Boolean activeOnly)
  362.  TWOWORDINLINE(0x7001, 0xABEB);
  363. extern pascal void DMDrawDesktopRect(Rect *globalRect)
  364.  TWOWORDINLINE(0x7002, 0xABEB);
  365. extern pascal void DMDrawDesktopRegion(RgnHandle globalRgn)
  366.  TWOWORDINLINE(0x7003, 0xABEB);
  367. extern pascal OSErr DMBeginConfigureDisplays(Handle *displayState)
  368.  THREEWORDINLINE(0x303C, 0x0206, 0xABEB);
  369. extern pascal OSErr DMEndConfigureDisplays(Handle displayState)
  370.  THREEWORDINLINE(0x303C, 0x0207, 0xABEB);
  371. extern pascal OSErr DMAddDisplay(GDHandle newDevice, short driver, unsigned long mode, unsigned long reserved, unsigned long displayID, Component displayComponent, Handle displayState)
  372.  THREEWORDINLINE(0x303C, 0x0D08, 0xABEB);
  373. extern pascal OSErr DMMoveDisplay(GDHandle moveDevice, short x, short y, Handle displayState)
  374.  THREEWORDINLINE(0x303C, 0x0609, 0xABEB);
  375. extern pascal OSErr DMDisableDisplay(GDHandle disableDevice, Handle displayState)
  376.  THREEWORDINLINE(0x303C, 0x040A, 0xABEB);
  377. extern pascal OSErr DMEnableDisplay(GDHandle enableDevice, Handle displayState)
  378.  THREEWORDINLINE(0x303C, 0x040B, 0xABEB);
  379. extern pascal OSErr DMRemoveDisplay(GDHandle removeDevice, Handle displayState)
  380.  THREEWORDINLINE(0x303C, 0x040C, 0xABEB);
  381. extern pascal OSErr DMSetMainDisplay(GDHandle newMainDevice, Handle displayState)
  382.  THREEWORDINLINE(0x303C, 0x0410, 0xABEB);
  383. extern pascal OSErr DMSetDisplayMode(GDHandle theDevice, unsigned long mode, unsigned long *depthMode, unsigned long reserved, Handle displayState)
  384.  THREEWORDINLINE(0x303C, 0x0A11, 0xABEB);
  385. extern pascal OSErr DMCheckDisplayMode(GDHandle theDevice, unsigned long mode, unsigned long depthMode, unsigned long *switchFlags, unsigned long reserved, Boolean *modeOk)
  386.  THREEWORDINLINE(0x303C, 0x0C12, 0xABEB);
  387. extern pascal OSErr DMGetDeskRegion(RgnHandle *desktopRegion)
  388.  THREEWORDINLINE(0x303C, 0x0213, 0xABEB);
  389. extern pascal OSErr DMRegisterNotifyProc(DMNotificationUPP notificationProc, ProcessSerialNumberPtr whichPSN)
  390.  THREEWORDINLINE(0x303C, 0x0414, 0xABEB);
  391. extern pascal OSErr DMRemoveNotifyProc(DMNotificationUPP notificationProc, ProcessSerialNumberPtr whichPSN)
  392.  THREEWORDINLINE(0x303C, 0x0415, 0xABEB);
  393. extern pascal OSErr DMQDIsMirroringCapable(Boolean *qdIsMirroringCapable)
  394.  THREEWORDINLINE(0x303C, 0x0216, 0xABEB);
  395. extern pascal OSErr DMCanMirrorNow(Boolean *canMirrorNow)
  396.  THREEWORDINLINE(0x303C, 0x0217, 0xABEB);
  397. extern pascal OSErr DMIsMirroringOn(Boolean *isMirroringOn)
  398.  THREEWORDINLINE(0x303C, 0x0218, 0xABEB);
  399. extern pascal OSErr DMMirrorDevices(GDHandle gD1, GDHandle gD2, Handle displayState)
  400.  THREEWORDINLINE(0x303C, 0x0619, 0xABEB);
  401. extern pascal OSErr DMUnmirrorDevice(GDHandle gDevice, Handle displayState)
  402.  THREEWORDINLINE(0x303C, 0x041A, 0xABEB);
  403. extern pascal OSErr DMGetNextMirroredDevice(GDHandle gDevice, GDHandle *mirroredDevice)
  404.  THREEWORDINLINE(0x303C, 0x041B, 0xABEB);
  405. extern pascal OSErr DMBlockMirroring(void)
  406.  TWOWORDINLINE(0x701C, 0xABEB);
  407. extern pascal OSErr DMUnblockMirroring(void)
  408.  TWOWORDINLINE(0x701D, 0xABEB);
  409. extern pascal OSErr DMGetDisplayMgrA5World(Ptr *dmA5)
  410.  THREEWORDINLINE(0x303C, 0x021E, 0xABEB);
  411. extern pascal OSErr DMGetDisplayIDByGDevice(GDHandle displayDevice, DisplayIDType *displayID, Boolean failToMain)
  412.  THREEWORDINLINE(0x303C, 0x051F, 0xABEB);
  413. extern pascal OSErr DMGetGDeviceByDisplayID(DisplayIDType displayID, GDHandle *displayDevice, Boolean failToMain)
  414.  THREEWORDINLINE(0x303C, 0x0520, 0xABEB);
  415. extern pascal OSErr DMSetDisplayComponent(GDHandle theDevice, Component displayComponent)
  416.  THREEWORDINLINE(0x303C, 0x0421, 0xABEB);
  417. extern pascal OSErr DMGetDisplayComponent(GDHandle theDevice, Component *displayComponent)
  418.  THREEWORDINLINE(0x303C, 0x0422, 0xABEB);
  419. extern pascal OSErr DMNewDisplay(GDHandle *newDevice, short driverRefNum, unsigned long mode, unsigned long reserved, DisplayIDType displayID, Component displayComponent, Handle displayState)
  420.  THREEWORDINLINE(0x303C, 0x0D23, 0xABEB);
  421. extern pascal OSErr DMDisposeDisplay(GDHandle disposeDevice, Handle displayState)
  422.  THREEWORDINLINE(0x303C, 0x0424, 0xABEB);
  423. extern pascal OSErr DMResolveDisplayComponents(void)
  424.  TWOWORDINLINE(0x7025, 0xABEB);
  425. extern pascal OSErr DMRegisterExtendedNotifyProc(DMExtendedNotificationUPP notifyProc, void *notifyUserData, unsigned short nofifyOnFlags, ProcessSerialNumberPtr whichPSN)
  426.  THREEWORDINLINE(0x303C, 0x07EF, 0xABEB);
  427. extern pascal OSErr DMRemoveExtendedNotifyProc(DMExtendedNotificationUPP notifyProc, void *notifyUserData, ProcessSerialNumberPtr whichPSN, unsigned short removeFlags)
  428.  THREEWORDINLINE(0x303C, 0x0726, 0xABEB);
  429. extern pascal OSErr DMNewAVPanelList(DisplayIDType displayID, ResType panelType, DMFidelityType minimumFidelity, unsigned long panelListFlags, unsigned long reserved, DMListIndexType *thePanelCount, DMListType *thePanelList)
  430.  THREEWORDINLINE(0x303C, 0x0C27, 0xABEB);
  431. extern pascal OSErr DMNewAVEngineList(DisplayIDType displayID, ResType engineType, DMFidelityType minimumFidelity, unsigned long engineListFlags, unsigned long reserved, DMListIndexType *engineCount, DMListType *engineList)
  432.  THREEWORDINLINE(0x303C, 0x0C28, 0xABEB);
  433. extern pascal OSErr DMNewAVDeviceList(ResType deviceType, unsigned long deviceListFlags, unsigned long reserved, DMListIndexType *deviceCount, DMListType *deviceList)
  434.  THREEWORDINLINE(0x303C, 0x0A29, 0xABEB);
  435. extern pascal OSErr DMNewAVPortListByPortType(ResType subType, unsigned long portListFlags, unsigned long reserved, DMListIndexType *devicePortCount, DMListType *theDevicePortList)
  436.  THREEWORDINLINE(0x303C, 0x0A2A, 0xABEB);
  437. extern pascal OSErr DMGetIndexedComponentFromList(DMListType panelList, DMListIndexType itemIndex, unsigned long reserved, DMComponentListIteratorUPP listIterator, void *userData)
  438.  THREEWORDINLINE(0x303C, 0x0A2B, 0xABEB);
  439. extern pascal OSErr DMDisposeList(DMListType panelList)
  440.  THREEWORDINLINE(0x303C, 0x022C, 0xABEB);
  441. extern pascal OSErr DMGetNameByAVID(AVIDType theID, Str255 *name)
  442.  THREEWORDINLINE(0x303C, 0x042D, 0xABEB);
  443. extern pascal OSErr DMNewAVIDByPortComponent(Component thePortComponent, ResType portKind, unsigned long reserved, AVIDType *newID)
  444.  THREEWORDINLINE(0x303C, 0x082E, 0xABEB);
  445. extern pascal OSErr DMGetPortComponentByAVID(DisplayIDType thePortID, Component *thePortComponent, ComponentDescription *theDesciption, ResType *thePortKind)
  446.  THREEWORDINLINE(0x303C, 0x082F, 0xABEB);
  447. extern pascal OSErr DMSendDependentNotification(ResType notifyType, ResType notifyClass, AVIDType displayID, ComponentInstance notifyComponent)
  448.  THREEWORDINLINE(0x303C, 0x0A30, 0xABEB);
  449. extern pascal OSErr DMDisposePortComponent(Component thePortComponent)
  450.  THREEWORDINLINE(0x303C, 0x0231, 0xABEB);
  451. extern pascal OSErr DMSaveScreenPrefs(unsigned long reserved1, unsigned long saveFlags, unsigned long reserved2)
  452.  THREEWORDINLINE(0x303C, 0x0632, 0xABEB);
  453. extern pascal OSErr DMNewAVIDByDeviceComponent(Component theDeviceComponent, ResType portKind, unsigned long reserved, DisplayIDType *newID)
  454.  THREEWORDINLINE(0x303C, 0x0833, 0xABEB);
  455. extern pascal OSErr DMNewAVPortListByDeviceAVID(AVIDType theID, DMFidelityType minimumFidelity, unsigned long portListFlags, unsigned long reserved, DMListIndexType *devicePortCount, DMListType *theDevicePortList)
  456.  THREEWORDINLINE(0x303C, 0x0C34, 0xABEB);
  457. extern pascal OSErr DMGetDeviceComponentByAVID(AVIDType theDeviceID, Component *theDeviceComponent, ComponentDescription *theDesciption, ResType *theDeviceKind)
  458.  THREEWORDINLINE(0x303C, 0x0835, 0xABEB);
  459. extern pascal OSErr DMNewDisplayModeList(DisplayIDType displayID, unsigned long modeListFlags, unsigned long reserved, DMListIndexType *thePanelCount, DMListType *thePanelList)
  460.  THREEWORDINLINE(0x303C, 0x0A36, 0xABEB);
  461. extern pascal OSErr DMGetIndexedDisplayModeFromList(DMListType panelList, DMListIndexType itemIndex, unsigned long reserved, DMDisplayModeListIteratorUPP listIterator, void *userData)
  462.  THREEWORDINLINE(0x303C, 0x0A37, 0xABEB);
  463. extern pascal OSErr DMGetGraphicInfoByAVID(AVIDType theID, PicHandle *theAVPcit, Handle *theAVIconSuite, AVLocationRec *theAVLocation)
  464.  THREEWORDINLINE(0x303C, 0x0838, 0xABEB);
  465. extern pascal OSErr DMGetAVPowerState(AVIDType theID, AVPowerStatePtr getPowerState, unsigned long reserved1)
  466.  THREEWORDINLINE(0x303C, 0x0839, 0xABEB);
  467. extern pascal OSErr DMSetAVPowerState(AVIDType theID, AVPowerStatePtr setPowerState, unsigned long reserved1, Handle displayState)
  468.  THREEWORDINLINE(0x303C, 0x083A, 0xABEB);
  469. extern pascal OSErr DMGetDeviceAVIDByPortAVID(AVIDType portAVID, AVIDType *deviceAVID)
  470.  THREEWORDINLINE(0x303C, 0x043B, 0xABEB);
  471.  
  472. #if PRAGMA_IMPORT_SUPPORTED
  473. #pragma import off
  474. #endif
  475.  
  476. #if PRAGMA_ALIGN_SUPPORTED
  477. #pragma options align=reset
  478. #endif
  479.  
  480. #ifdef __cplusplus
  481. }
  482. #endif
  483.  
  484. #endif /* __DISPLAYS__ */
  485.